What is @openapitools/openapi-generator-cli?
@openapitools/openapi-generator-cli is a command-line interface tool that allows you to generate API client libraries, server stubs, API documentation, and configuration automatically from an OpenAPI Specification. It supports a wide range of languages and frameworks, making it a versatile tool for API development.
What are @openapitools/openapi-generator-cli's main functionalities?
Generate Client Libraries
This command generates a JavaScript client library from the OpenAPI specification available at the provided URL. The generated code will be placed in the './generated-client' directory.
npx @openapitools/openapi-generator-cli generate -i https://petstore.swagger.io/v2/swagger.json -g javascript -o ./generated-client
Generate Server Stubs
This command generates a Spring server stub from the OpenAPI specification available at the provided URL. The generated code will be placed in the './generated-server' directory.
npx @openapitools/openapi-generator-cli generate -i https://petstore.swagger.io/v2/swagger.json -g spring -o ./generated-server
Generate API Documentation
This command generates HTML documentation from the OpenAPI specification available at the provided URL. The generated documentation will be placed in the './generated-docs' directory.
npx @openapitools/openapi-generator-cli generate -i https://petstore.swagger.io/v2/swagger.json -g html2 -o ./generated-docs
Custom Templates
This command generates a JavaScript client library using custom templates located in the './custom-templates' directory. The generated code will be placed in the './generated-client' directory.
npx @openapitools/openapi-generator-cli generate -i https://petstore.swagger.io/v2/swagger.json -g javascript -t ./custom-templates -o ./generated-client
Other packages similar to @openapitools/openapi-generator-cli
swagger-codegen-cli
swagger-codegen-cli is a command-line tool for generating client libraries, server stubs, API documentation, and configuration from a Swagger/OpenAPI Specification. It is the predecessor to @openapitools/openapi-generator-cli and offers similar functionalities but with fewer updates and community support.
openapi-generator
openapi-generator is a fork of swagger-codegen that offers more features, better support for modern languages and frameworks, and a more active community. It is essentially the core library that @openapitools/openapi-generator-cli wraps around for CLI usage.
swagger-jsdoc
swagger-jsdoc is a tool that generates Swagger/OpenAPI documentation from JSDoc comments in your code. While it doesn't generate client libraries or server stubs, it is useful for creating and maintaining API documentation directly from your codebase.
@openapitools/openapi-generator-cli
OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and
configuration automatically given an OpenAPI Spec (both 2.0 and 3.0 are supported). Please see
OpenAPITools/openapi-generator
This project checks the maven repository
once a day for a new version and will publish this new version automatically as an npm package.
Thanks openapitools.org for this awesome CLI!
Installation
There are several ways to install the package.
Global Mode
In global mode (ie, with -g or --global appended to the command), it installs the package as a global package. This
means that you'll get the openapi-generator
command available on your command line interface (CLI) as well.
npm install @openapitools/openapi-generator-cli -g
npm install @openapitools/openapi-generator-cli@cli-3.0.0 -g
After the installation has finished you can type for example:
openapi-generator version
Package Mode
It is recommended to install the package as development dependency, because normally you only need this dependency
during the development process. To do that you can type the following:
npm install @openapitools/openapi-generator-cli -D
npm install @openapitools/openapi-generator-cli@cli-3.0.0 -D
After the installation has finished you can add a script like this:
{
"name": "my-cool-package",
"version": "0.0.0",
"scripts": {
"my-awesome-script-name": "openapi-generator generate -i docs/openapi.yaml -g typescript-angular -o generated-sources/openapi --additional-properties=ngVersion=6.1.7,npmName=restClient,supportsES6=true,npmVersion=6.9.0,withInterfaces=true",
}
}
Note the whitespace sensitivity when using mulitiple additional-properties.
Usage Example
Mac/Linux:
openapi-generator generate -g ruby -i https://raw.githubusercontent.com/OpenAPITools/openapi-generator/master/modules/openapi-generator/src/test/resources/3_0/petstore.yaml -o /var/tmp/ruby-client
Windows:
openapi-generator generate -g ruby -i https://raw.githubusercontent.com/OpenAPITools/openapi-generator/master/modules/openapi-generator/src/test/resources/3_0/petstore.yaml -o C:\temp\ruby-client
Further Documentation
Please refer to the official openapi-generator docs for
more information about the possible arguments and a detailed usage manual of the command line interface.
You like the package?
Please leave a star.